home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 98 / Skunkware 98.iso / src / net / omniORB-2.5.0-src.tar.gz / omniORB-2.5.0-src.tar / omniORB_2.5.0 / CHANGES_240 next >
Text File  |  1998-03-03  |  7KB  |  177 lines

  1. Release 2.4.0
  2. =============
  3.  
  4. Changes since 2.2.0:
  5.  
  6. IMPORTANT NOTE:
  7.    The naming service now uses the prefix pragma "omg.org". This is
  8.    introduced to bring our environment in line with the clarifications
  9.    in the CORBA specification. Unfortunately, this results in on-the-wire
  10.    incompatibility with clients that are linked with the old library, i.e.
  11.    any programs linked before version 2.4.0 was released. Please read the
  12.    section on omniNames below for details.
  13.  
  14. Bug fixes
  15. ---------
  16. All bugs reported since 2.2.0 have been fixed.
  17.  
  18. Improved documentation 
  19. ----------------------
  20. - a revised omniORB2 user's guide is provided.
  21.  
  22. Ported to other platforms
  23. -------------------------
  24. - thanks to our external contributors, omniORB2 has now been ported to the
  25.   following platforms:
  26.  
  27.   o IBM AIX 4.2/ IBM C Set++ 3.1.4
  28.   o HPUX 10.20/ aC++ (B3910 A.01.04)
  29.   o OpenVMS Alpha 6.2/ DEC C++ compiler 5.5
  30.   o OpenVMS Vax 6.1/ DEC C++ compiler 5.5
  31.   o NextStep 3.3/ gcc-2.7.2
  32.  
  33.   This release has also been tested with egcc-1.0 that has been patched to 
  34.   support thread-safe exception handling. See README.EGCS for details.
  35.  
  36.   The ports to Mac OS and SGI Irix 6.x are known to exist. However, the ports
  37.   have not been merged into the source tree yet.
  38.  
  39. LifeCycle service support (New feature)
  40. -------------------------
  41.  
  42. - Support for lifecycle service is now included (thanks to Duncan
  43.   Grisby). The code in <top>/src/examples/lifecycle demonstrates how this is
  44.   used.  The documentation <top>/doc/lifecycle.{ps,pdf} contains
  45.   further details.
  46.  
  47. Host-based access control (New feature)
  48. -------------------------
  49.  
  50. - A new hook is provided for plugging in access control policy modules to
  51.   determine whether to accept new client connections.
  52.  
  53.   On unix platforms, an access control module based on Wietse Venema's
  54.   tcp_wrapper_7.6 is implemented. Please refer to the omniORB2 user's guide
  55.   for details.
  56.  
  57.  
  58. Proper support for late binding (New feature)
  59. -------------------------------
  60.  
  61. - Given interface A and B inherits from A and a process which only
  62.   has the stub for interface A linked in. With 2.2.0, if the process
  63.   expects a A but receives an object reference for a B, it would not
  64.   know B is A. With 2.4.0, it will know by using the _is_a()
  65.   operation to find out if B is indeed A. Please refer to the omniORB2 user's
  66.   guide for details.
  67.  
  68.  
  69. Improved support for Windows NT and Windows 95
  70. ----------------------------------------------
  71.  
  72. - The debug versions of all DLLs and static libraries are provided. The debug
  73.   libraries are produced as part of the built process.
  74.  
  75. - Workarounds for the Microsoft VC++ nested class bugs are generated
  76.   automatically by the stub compiler.
  77.  
  78. Improved BOA implementation (New feature)
  79. ---------------------------
  80.  
  81. - BOA can now be shutdown and restarted properly.
  82.  
  83. Better network connection management (New feature)
  84. ------------------------------------
  85.  
  86. - Cache connection shutdown doesn't cause a COMM_FAILURE.
  87.  
  88. - Connections are closed automatically after they are idle for a
  89.   period of time. The idle period can be controlled by the
  90.   application. This check is done both at the client and the server
  91.   end. Please refer to the omniORB2 user's guide for details.
  92.  
  93. Improved Proxy Object support (New feature)
  94. -----------------------------
  95.  
  96.  - omniORB specific extensions to allow applications to install
  97.    per-object or global exception handlers to deal with
  98.    CORBA::TRANSIENT, CORBA::COMM_FAILURE and CORBA::SystemException.
  99.  
  100.  - applications can control the creation of proxy objects or change the
  101.    behaviour of proxy objects. This feature has been available in 2.2.0 but
  102.    is now properly documented in the user's guide.
  103.    
  104. New version of omnithread
  105. -------------------------
  106.  
  107. In response to overwhelming demand (:-)) there is a new version of the
  108. omnithread library with several improvements.
  109.  
  110.   * Exceptions are now used everywhere.  Most functions which previously
  111.     returned an error number now return void.  Nearly all such errors were
  112.     unrecoverable and it was never really practical to test the return code
  113.     anyway.  In the new interface functions throw a "fatal" exception when
  114.     they get an underlying system error, or throw an "invalid" exception
  115.     when invoked with invalid arguments.
  116.  
  117.   * The only such functions which do not return void are the condition
  118.     variable timedwait and semaphore trywait.  As well as potentially
  119.     throwing the above exceptions, these functions now return true on
  120.     success, false on failure.  Because there is no change in function
  121.     signature, the names of the functions have been changed by removing the
  122.     underscore.  This causes existing code which uses them to fail to
  123.     compile, thus ensuring that it be updated to the new interface.  The
  124.     new names are also more similar to the equivalent posix functions.
  125.  
  126.   * There are new "lock" classes for acquiring mutexes and semaphores.
  127.     These can be used to safely grab a lock until the end of a function,
  128.     releasing it automatically even in the event of exceptions being
  129.     thrown.
  130.  
  131.   * The implementation "wrapper" functions have been fixed so that they
  132.     should now work properly on all compilers.
  133.  
  134.   * Some historical baggage has been removed.
  135.  
  136. Thanks are due to Brian Burton for suggesting most of these changes.
  137.  
  138.  
  139. omniNames
  140. ---------
  141.  
  142. The naming service now uses the prefix pragma "omg.org" in its IDL. 
  143.  
  144. Unfortunately, this is not compatible on-the-wire with clients that are
  145. linked with the old library, i.e. any programs linked before this version
  146. is released.
  147.  
  148. The implications of this change are as follows:
  149.  
  150. a) omniNames built in this release *CANNOT* read the data file of the 
  151.    version 2.2.0 omniNames. A new instance must be started from scratch. If 
  152.    you start omniNames and tell it to use the old data file, it will certainly
  153.    crash.
  154.  
  155.    Possible migration path:
  156.      At ORL, we are running the old and the new omniNames in parallel.
  157.      The new instance is setup to run on a different port. Also the
  158.      new tree is built to read by default a different configuration file:
  159.      (/project/omni/var/omniORB_NEW.cfg instead of 
  160.      /project/omni/var/omniORB.cfg) so that a client will pick up the
  161.      IOR of the old or the new omniNames depending on whether it is compiled
  162.      with the old or the new library. When all our services have been
  163.      recompiled, the old omniNames will be withdrawn.
  164.  
  165.  
  166. b) If you want to continue to use the old omniNames, you can undo this
  167.    change with the following steps:
  168.      1. Edit <top>/src/lib/omniORB2/Naming.idl and remove the 
  169.         #pragma prefix "omg.org" line.
  170.      2. Do the same to <top>/idl/Naming.idl.
  171.      3. Remove <top>/include/omniORB2/Naming.hh.
  172.      4. Rebuild everything. You should do a gnumake/make veryclean at the
  173.         top of <top>/src to make sure that the naming service stubs are
  174.         regenerated.
  175.  
  176.  
  177.